home *** CD-ROM | disk | FTP | other *** search
- From: Michael Smith <miff@apanix.apana.org.au>
- Subject: Periodic task functions...
- Date: Fri, 17 Dec 1993 13:14:18 -17634834 (DST)
- In-Reply-To: <9312161531.AA22754@suntopo.matups.fr> from "Thierry Bousch" at Dec 16, 93 04:31:30 pm
-
- >Having a unique "update" process would be a Good Thing (in terms of
- >performance) not only for file-systems, but also for device drivers; In
- >both cases, there are tasks which must be done (checked) periodically,
- >whether the device driver is called or not. In minixfs and modm0dev,
- >this is accomplished by an auxiliary daemon process: this causes
- >significant overhead, and even more importantly, this process runs in
- >non-kernel mode, which forbids some functions like (*kernel->wake)()
- >which would be extremely handy.
-
- And things like TCP, and for that matter almost every communications
- protocol require a regular cleanout kicking. (There's no point in
- registering a timeout for each and every connection you have open)
-
- >It would be nice to have a supplementary kernel function -- let's say
- >add_periodic_task(short period, void (*func)()) -- to register function
- >"func" to be executed _in kernel mode_ every "period" milliseconds.
-
- Sounds pretty handy, although it'd be a real time eater unless you keep
- the granularity pretty coarse. I think that just having two lists,
- one on (say) 5ms (200Hz) and the other say 500ms (2Hz) would probably cover
- 99.9% of the requirements, and be much lighter on the overhead.
-
- >Any comments about this?
-
- Yeah, please guys, for every add_* function, make sure there's a
- remove_* function 8)
-
- >Thierry.
-
- --
- # mike smith : miff@apanix.apana.org.au - Silicon grease monkey #
- # "The question 'why are the fundamental laws of nature mathematical' #
- # then invites the trivial response 'because we define as fundamental #
- # those laws which are mathematical'". Paul Davies, _The_Mind_of_God_. #
-